package testPackage;

/**
 * step by step 01 JMeter简介
 * 1、定义：基于java的桌面应用程序，可用于对各种客户端服务器应用程序
 * （网站、Web服务、数据库、FTP服务器等）进行性能测试。
 * 2、可测试的应用程序类型
 * 网站 -HTTP/HTTPS
 * Web服务 -REST/SOAP
 * 数据库服务器
 * FTP服务器
 * LDAP服务器
 * 邮件服务器 -SMTP/POP3/IMAP
 * Shell脚本
 * TCP服务器
 * 3、优点：免费、可加载各种测试、与平台无关、
 * 记录和回放功能、可定制、支持分布式负载测试、良好的社区支持
 * 4、局限性：编写脚本需要一定的专业知识、没有网络可视化功能、
 * 单一的正常配置机器不足以对大量用户进行负载测试、不支持Ajax、Javascrip、Flash，也没有
 * 呈现类似于浏览器的Web元素、与其它工具相比，它提供的实时测试监视功能非常有限。
 * step by step 02 JMeter中的测试计划
 * 测试计划是一个逻辑容器，其中包含创建性能测试脚本所需的不同请求或操作。不同类型的操作
 * 由测试计划的不同元素执行。使用JMeter GUI添加，删除和配置测试计划元素。
 * 常用的测试计划元素：
 * 1）线程组 -模拟虚拟用户
 * 2）采样器 -发送到被测试服务器的不同请求
 * 3）逻辑控制器 -是我们可以自定义Sampler请求发送到服务器的方式
 * 4)计时器 -用于在指定的持续时间内暂停测试执行
 * 5）断言 -用于执行一些验证，以检查从服务器接收到的响应的正确性
 * 6）侦听 -用以图形或表格形式保存，查看和分析测试结果
 * step by step 03 元素 - 线程组
 * 线程组-代表执行一组操作的虚拟用户池。模拟用户向服务器发送请求
 * 启动线程组：右击测试计划-->将鼠标悬停在线程上--->单击“Thread Group”
 * 线程组属性：
 * 控制面板中属性
 * 1）名称 -线程组的名称，表示虚拟用户执行的操作
 * 2）注释 -可选文本框，对线程组执行操作的描述或任何其它元数据信息
 * 3）继续 -采样器错误，测试继续
 * 4）启动下一个线程循环 -测试继续执行下一个线程
 * 5）停止线程 -发生错误，线程停止
 * 6）停止测试 -线程正常停止，完成当前的采样器请求
 * 7）立即停止测试 -如果发生任何错误，则突然停止线程
 * 线程属性块中的属性：
 * 1）线程数 -需要模拟的用户数
 * 2）加速周期（以秒为单位） -启动所有线程需要花费的时间
 * 3）循环计数 -执行线程组内定义的一组操作的循环次数的计数
 * 4）永远循环计数 -选中后，将循环无限运行，直到手动停止
 * 5）将线程创建延迟到需要为止 （以秒为单位）
 * 6）计划程序 -选中后，将启用计划程序配置，并考虑在特定时间进行测试计划。
 * 否则，测试计划将在我们运行测试后立即运行。
 * 时间配置块中的属性：
 * 1）持续时间 （秒）-测试执行持续的时间
 * 2）启动延迟（秒） -等待几秒后启动执行测试脚本
 * 3）开始时间 -指定测试启动的系统时间的绝对值。持续时间为空时才考虑
 * 4）结束时间 -指定测试停止的系统时间的绝对值。持续时间为空时才考虑
 * step by step 04 取样器（采样器）
 *采样器是发送到服务器的不同类型的请求。采样器被添加为线程组的子级。用于
 * 将不同类型的请求发送到服务器，一旦服务器处理了请求，它的响应就会返回给JMeter，并且
 * 可以根据不同的性能参数（响应时间、每秒的点击数、吐出量等）查看和分析请求。
 * 添加：右键单击线程组 --->鼠标悬停在添加--->采样器--->单击所需采样器
 * 广泛应用的采样器的类型：
 * HTTP请求 - 发送HTTP/https请求
 * JDBC请求 - 发送SQL查询请求
 * SOAP/XML-RPC请求 - 发送SOAP请求
 * 测试操作 - 它是一种特殊的采样器，不向服务器发送请求，而是用于在测试中引入暂停。
 * FTP请求 - 用于将文件放置或获取请求发送到FTP服务器。
 * step by step 05 逻辑控制器 Logic Controller
 * 逻辑控制器是测试计划元素，用于自定义采样器和其它作为子元素添加的元素的处理顺序。
 * 步骤：右键单击线程组--->添加---->逻辑控制器——>单击所需的逻辑控制器
 * step by step 06 侦听器 Listener
 * 侦听器是测试计划元素，用以表格或图形形式查看和分析性能测试结果。
 * 添加方式：右键单击测试计划--->悬停在添加上--->悬停在监听器上--->单击Listener
 * 种类：
 * 聚合图、汇总报告、断言结果、后端监听器、BeanShell监听器、BSF监听器、比较断言可视化器
 * 生成摘要结果、图形结果、JSR223侦听器、监控结果、响应时间图、简单数据写入器、总结报告
 * 查看结果树等。
 * step by step 07 计时器 Timer
 * 用于在特定的指定时间段内暂停测试的执行。
 * 添加方式：右键单击线程组--->添加---->计时器--->所需计时器
 * 最常用的恒定计时器、随机、泊松等。
 * step by step 08 断言 Assert
 * 用于验证从服务器收到的针对特定采样器请求的响应。验证接收到的响应是否正确。
 * 添加方式：右键采样器请求--->添加--->断言--->所需的断言
 * 类型：响应断言、HTML断言、大小断言、比较断言、BSF断言、持续时间断言等。
 * step by step 09 JMeter中的配置元素 configer
 * 用于配置或修改对服务器的采样器请求。
 * 添加方式：右键测试计划/线程组/逻辑控制器--->添加--->配置元素--->所需配置元素
 * 种类：CSV数据集配置、HTTP缓存管理器、HTTP Cookie管理器、用户定义的变量、计数器、JDBC连接配置
 * FTP请求默认值、DNS缓存管理器、HTTP授权管理器、HTTP请求默认值等。
 * step by step 10 预处理器 Pre Processors
 * 用于在处理采样器请求之前对其进行修改。
 * 添加方式：右键测试计划/线程组/逻辑控制器--->添加--->预处理器--->所需的预处理器元素
 * step by step 11 Post Processors
 * 用于在处理采样器请求之后执行某些操作。
 * 添加方式：右键测试计划/线程组/逻辑控制器--->添加--->后处理器--->所需的后处理器元素
 *
 */
public class Jmeter01 {
}
